Content storage management in cameras

ABSTRACT

An embodiment of the invention includes a method for managing media files created by a digital camera. More specifically, a content analyzing module tags a media file with one or more location media tags, event media tags, and/or content media tags. The location media tags are indicative of the geographic location where the media file was created. The event media tags are indicative of an event where the media file was created; and, the content media tags are indicative of individual(s) in the media file. A priority analyzing module connected to the content analyzing module determines a priority of the media file based on priority rules and the location media tags, event media tags, and/or the content media tags. A storage management module connected to the priority analyzing module stores the media file based on the determined priority.

This patent application is a continuation application of U.S. patentapplication Ser. No. 13/023,297 filed on Feb. 8, 2011, which is herebyincorporated by reference.

BACKGROUND

The present invention is in the field of systems, methods and computerprogram products for content storage management in cameras.

In the video and still camera market, recording media has shifted fromtape to disc, and from disc to smart media cards (e.g., secure digital(SD) cards). Other recording media include micro drives, compact flash,digital video disc (DVD), portable high definition display (HDD), andBlu-ray Disc™. For instance, video cameras are available that employ acombination of HDD and Blu-ray Disc™ to facilitate data transfer.

The quality of digital recordings is subject to several factors, such ascompression ratios, images stored per second, image size, and theduration of image retention before images are overwritten. Differentmanufacturers of digital video recorders use different compressionstandards and varying compression ratios. Video cameras offer variouscompression decompression algorithms (codecs) to optimize storage on thecamera.

SUMMARY OF THE INVENTION

An embodiment of the invention includes a method for managing mediafiles created by a digital camera. More specifically, a contentanalyzing module tags a media file with one or more location media tags,event media tags, and/or content media tags. The location media tags areindicative of the geographic location where the media file was created.The event media tags are indicative of an event where the media file wascreated; and, the content media tags are indicative of individual(s) inthe media file.

A priority analyzing module connected to the content analyzing moduledetermines a priority of the media file based on priority rules and thelocation media tags, event media tags, and/or the content media tags. Astorage management module connected to the priority analyzing modulestores the media file based on the determined priority. Higher prioritymedia files are stored on a first storage device and/or lower prioritymedia files are stored on a second storage device. Data retrieval fromthe first storage device is faster than data retrieval from the secondstorage device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present invention is described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements.

FIG. 1 is a flow diagram illustrating a method for storage contentmanagement according to an embodiment of the invention;

FIG. 2 illustrates a system for managing media files according to anembodiment of the invention

FIG. 3 is a flow diagram illustrating a method for managing media filesaccording to another embodiment of the invention; and

FIG. 4 illustrates a computer program product according to an embodimentof the invention.

DETAILED DESCRIPTION

Exemplary, non-limiting, embodiments of the present invention arediscussed in detail below. While specific configurations are discussedto provide a clear understanding, it should be understood that thedisclosed configurations are provided for illustration purposes only. Aperson of ordinary skill in the art will recognize that otherconfigurations may be used without departing from the spirit and scopeof the invention.

An embodiment of the invention analyzes the media stored in a camera(images and/or videos) on the basis of a user's social network (e.g., todetermine number of strangers), geographic location (e.g., geo-tagging),and/or the user's calendar (e.g., to determine relevant content whichmay be accessed in upcoming events), and facilitates intelligentplacement of media files on different types of storage devices withinthe camera. Based on the placement of the media files, the appropriatecompression is selected on attached hybrid media storage drives.

For example, in at least one embodiment, a global positioning system(GPS) and internet enabled camera includes multiple storage devices withcombinations of microdrives, compact flash cards, DVD, HDD, SD cards,and Blu-ray Discs™. The content that is most likely to be useful isplaced on the storage type which has faster retrieval time; whichhowever, is typically more expensive (e.g., compact flash cards). Thecontent which is of lower priority is placed on a slower and oftencheaper storage type (e.g., microdrive).

The usefulness/priority of the content is determined based on multiplefactors, including geo-tagging, social presence of the content, and/orclassification of the social presence by the user. For instance, if avideo is shot away from a known source of power, it is likely that thepower source is not near-by. Thus, the video is stored to a memorydevice which takes up less battery power.

In at least one embodiment of the invention, the possible media to berecorded or placed in high end storage devices is intelligently andautomatically identified during the shooting/recording time itself—bysmartly integrating information from the user's social media presence(e.g., places and persons). For instance, if a video includes familymembers, it is likely that the video is shot to preserve memories ofthat time. Thus, the video is transferred to Blu-Ray Disc™ for highdefinition archival. If the video contains social contacts which are notdirect connections, the video is given lower priority.

A set of rules (predetermined or dynamic) define where videos ofdifferent priority are stored or archived to. For example, rules aredefined such that low priority videos are moved to the micro drive whenit is attached to the camera. Videos which contain social contacts whichare not directly related to the user or places which are not in a“Favorites” list are moved to the micro drive, as it is an often cheaperand less reliable storage type. In at least one embodiment, recognitionof the persons in the video or photograph is done through facialrecognition, and social information and connections are fetched from aconfigured social network source.

Another example analyzes media content from closed-circuit television(CCTV) storage. If people passing by are recognized and they are of atrusted social and/or professional network, the media content is movedto a higher compression and slower storage device (e.g., microdrives/hard drives). Strangers whose videos may need to be scrutinizedare stored on faster storage in an uncompressed format.

At least one embodiment of the invention identifies places the userlikes using automatic metadata tagging of the content, such as analyzingaudio content for laughter and/or analyzing videos/images for smiles.Based on the emotional content of the media file, the media file isclassified as higher or lower priority. In at least one embodiment, theclassification of content also determines compression ratios that it isstored at. Thus, higher priority content (e.g., content which is locatedat geo-locations that the user likes) are stored on more reliablestorage (e.g., compact flash cards).

An embodiment of the invention defines a set of rules which provisionsocial network driven rating and back up strategies for content. Thehighest priority content is replicated on multiple types of storage. Forexample, a professional cameraman shooting a sports game classifiesplayers as “More Valuable” in his/her professional network. When imagesor video of “More Valuable” players are captured, the media file(s) aresaved to multiple storage devices. In another example, a wildlifecameraman tags rare animals in his/her professional network as “MoreValuable” (e.g., tigers, bears). When a “More Valuable” animal isrecognized, the media file(s) are replicated across multiple storagedevices.

In addition, at least one embodiment analyzes upcoming events in theuser's calendar (e.g., a family member's birthday) and automaticallyarranges the media files such that relevant photos (e.g., past birthdayphotos) can be accessed faster. Thus, media files can be searched basedon location and people in the media file; and, relevant media files canbe accessed faster. If a particular video or photo has more strangersand/or was shot at a location disliked by the user (e.g., as determinedby negative tags assigned by the user), then such media files arecompressed more and saved to slower and cheaper storage devices ascompared to other media files shot at “liked” locations.

FIG. 1 is a flow diagram illustrating a method 100 for storage contentmanagement according to an embodiment of the invention. Data with highread affinity is identified and placed/replaced to an appropriatestorage device. The storage strategy is defined with input from thecamera user to map levels of content priority with the type of storagedevice to be used from the available storage devices in the camera 110.The camera is scanned for the currently attached storage types; and,each level of priority is mapped to the corresponding storage devicetype. Finer strategy details are defined, such as the type of content tobe replicated (e.g., if sports player John Doe is identified in a mediafile, then generate a back-up copy).

A media file is created when a photograph or video is captured 120; and,the location where the media file was taken is identified 130 (e.g.,automatically via GPS and/or manual input by the user). People withinthe media file are also identified 140 (e.g., automatically using facialrecognition systems and/or manual input by the user). Interestingsubsets of objects are identified in the media file 150. For example,people who are within the user's social network and/or places the userhas visited in the past are identified from analyzing metadata of mediafiles stored on the camera. In another example, the media file isexamined for laughter and/or smiles. The priority level of the mediafile is determined using the above parameters, including the storagestrategy 160; and, the media file is moved to the appropriate type ofstorage based on the priority level 170. The following provides ahigh-level pseudo-code for performing the method 100:

Pseudo_DataAnalyse ( ) { Start Content (C1....Cn) = Parse the contentthrough analysis techniques :    Facial , audio , geo recognitionDataset1=Analyse_social_network( );Dataset2=Photos_from_places_user_liked; Dataset3=Filter (Dataset1)//find photos with less number of strangers in it; Dataset4= Fetch thedefined strategy for the content analyzed ( C1....Cn) RebalanceStorage (); }

FIG. 2 illustrates a system 200 for managing media files (e.g., jpeg,mjpg, wmv) according to an embodiment of the invention, wherein thesystem 200 includes a content analyzing module 210, a priority analyzingmodule 220, and a storage management module 230. FIG. 3 is a flowdiagram illustrating a method 300 for managing media files according toan embodiment of the invention, for example, using the system 200. Thecontent analyzing module 210 tags at least one media file 310, whereinthe media file is created by a digital camera or a device including adigital camera (e.g., cell phone, webcam, tablet computer). The contentanalyzing module 210 tags the media file with one or more location mediatags, event media tags, and/or content media tags.

As described below, location media tags indicate the geographic locationwhere the media file was created (e.g., GPS coordinates, city, state,zip code, and/or area code). Furthermore, the event media tags indicatean event where the media file was created (e.g., conference, meeting,party, sporting event); and, the content media tags indicate one or moreindividuals (human and/or animal) in the media file. Thus, for example,a photograph of John Doe and Jane Doe includes the following tags:Washington, D.C.; 20008; ABC Conference Center; XYZ Annual Meeting; JaneDoe; and, John Doe. The content analyzing module 210 automatically tagsthe media files (e.g., via GPS, facial recognition) and/or tags themedia files based on user input (e.g., via a touch screen interface). Inat least one embodiment, the system 200 further includes an interface240 (e.g., touch screen, flag button, up/down/left/right arrow keys)connected to the content analyzing module 210 and/or the priorityanalyzing module 220 for receiving user input.

The priority analyzing module 220 determines the priority of the mediafile based on priority rules and the location media tag, the event mediatag, and/or the content media tag 320. In at least one embodiment, thepriority rules are set and/or modified based on input from the user ofthe digital camera, such as user ratings of individual media files(e.g., numeric rating system, alphabetic rating system) and/or userflags on individual media files. Thus, for example, the priority rulesassign a higher priority to a video having a 5-star user rating, and alower priority to a video having a 3-star user rating.

In another embodiment, the priority rules are based on ratings that theuser has assigned to specific media tags. For example, the user assignsa high rating to “Miami” location media tags and a low rating to“Chicago” location media tags. In another example, the user assigns ahigh rating to “John Doe” content media tags and a low rating to “JohnSmith” content media tags.

In at least one embodiment of the invention, the priority rules use ascoring/point system to determine the priority of media files havingdifferent types of media tags (e.g., location, event, or content) and/ormedia files having more than one tag. For example, the user assigns thefollowing scores to different tags:

Tag Tag Type Score Miami location 5 Chicago location 1 John Doe content3 John Smith content 1

Thus, priority rules evaluating total score values assigns a photographhaving “Miami” and “John Smith” tags (total tag value of 6) a higherpriority than a photograph having “Chicago” and “John Doe” tags (totaltag value of 4). Another embodiment having priority rules that evaluateaverage scores assigns a photograph having only a “Miami” tag (averagetag value of 5, total tag value of 5) a higher priority than aphotograph having “Chicago”, “John Doe”, and “John Smith” tags (averagetag value of 1.7, total tag value of 5).

Another embodiment of the invention includes priority rules that utilizecoefficients as weighing factors for different media tag types, i.e.,location, event or content. For example, the user assigns a high ratingto location media tags (coefficient=3), a medium rating to event mediatags (coefficient=2), and a low rating to content media tags(coefficient=1). Thus, in the above example, a photograph having a“Chicago” tag (3×1=3) has the same priority as a photograph having a“John Doe” tag (1×3=3). As described more fully below, the twophotographs will be stored on the same storage device.

Furthermore, priority rules evaluating total weighted scores assigns ahigher priority to a photograph having “Miami” and “John Smith” tags((3×5)+(1×1)=16) than a photograph having “Chicago” and “John Doe” tags((3×1)+(1×3)=6). Another embodiment using priority rules that evaluateaverage weighted scores assigns a higher priority to a photograph havinga “Miami” tag (average weighted score=15) than a photograph having“Chicago”, “John Doe”, and “John Smith” tags (average weightedscore=2.3).

In yet another embodiment, the priority analyzing module 220 analyzesthe media files to identify media tag(s) having a higher occurrence inthe media files, and media tag(s) having a lower occurrence in the mediafiles. Based on the analysis of the occurrence of media tags, thepriority rules are automatically set by the priority analyzing module220 (i.e., without direct manual user input). Thus, for example, theanalyzing module 220 identifies that the media files include a thresholdnumber of photographs and/or videos that have a “Florida” location mediatag (e.g., 50 occurrences); and as such, the analyzing module 220assigns a 4 (out of 5) priority score to the photographs.

Thus, at least one embodiment of the invention uses 3 factors fordetermining priority: flags/user ratings on individual media files,priority/scores of media tags, and occurrence of media tags. At leastone embodiment of the invention includes priority rules that assigndifferent ranks to the factors, e.g., user flags are highest priorityand occurrence of media tags is a low priority. Another embodiment usesa numerical scoring system to weight the different factors. For example,user flags are assigned a score of 10; media tags reaching a firstthreshold occurrence (e.g., 50) are assigned a score of 10; and, mediatags reaching a second threshold occurrence (e.g., 100) are assigned ascore of 15. Thus, if photograph A is flagged by the user; photograph Bhas an event media tag that has an occurrence of 67 in the media files;and photograph C has a location media tag that has an occurrence of 104in the media files; then photograph C has the highest priority andphotographs A and B have equal priority. Another embodiment includesnegative user flags, which are assigned a score of −10.

In another example, user ratings of individual media files are assigneda score of 5 per star, or 5 for a “Low” rating, 10 for a “Medium”rating, and 15 for a “High” rating. Thus, a video having a 3 star rating(score=15) has a higher priority than a photograph having 4 media tagshaving a total tag value of 12. If the priority rules evaluate averagetag scores, then a photograph having 2 media tags having an average tagvalue of 6 has a higher priority than a video having a “Low” rating(score=5). The various scores and weighing factors are defined in thepriority rules by the user and/or the manufacturer of the system 200.

In addition, at least one embodiment of the invention identifies atleast one person in the media file, for example, via user input and/or afacial recognition component of the content analyzing module 210. Anetwork component (e.g., web enabled communication module for searchingthe user's FACEBOOK.COM profile or other social networking site) of thepriority analyzing module 220 searches a network system of the user todetermine whether the identified person is in the user's network. Thenetwork system is stored on the digital camera, linked to the digitalcamera (e.g., USB cable to external storage, wireless link to a smartphone), and/or the digital camera is web-enabled. As used herein, theterm “network” includes one or more social networks (e.g., FACEBOOK.COM,MYSPACE.COM, e-mail contacts list, user-generated Friends List) and/orprofessional networks (e.g., employee directory, e-mail contacts list,LINKEDIN.COM). The priority of the media file is determined based onwhether the identified person is in the user's network (e.g., networkcontacts are assigned a score of 10, an indirect network contact (i.e.,a contact of a contact) is assigned a score of 5).

In one embodiment, the content analyzing module 210 identifies at leastthree people in the media file via facial recognition, and searches theuser's network system to determine whether the identified people are inthe user's network. The priority analyzing module 220 determines whetherthere are more people in the media file in the user's network thanpeople in the media file not in the user's network. The priority of themedia file is determined based on whether there are more people in themedia file in the user's network than people in the media file not inthe user's network.

Furthermore, in at least one embodiment of the invention, the contentanalyzing module 210 includes an emotion component for analyzing themedia file to identify the presence of smiles, frowns, laughter, and/orcrying. The priority analyzing module 220 determines the priority of themedia file based on the analyzing. Specifically, media files havingsmiles and/or laughter are assigned higher priorities than media fileshaving frowns and/or crying.

In addition, in at least one embodiment of the invention, the contentanalyzing module 210 and/or the priority analyzing module 220 includes acalendar component for accessing a calendar of the user and identifyingan upcoming event on the calendar. The user's calendar is stored on thedigital camera, linked to the digital camera (e.g., USB cable toexternal storage, wireless link to a personal digital assistant (PDA)),and/or the digital camera is web-enabled. An event component of thepriority analyzing module 220 determines whether the media file has anevent tag related to the upcoming event. If the media file has an eventtag related to the upcoming event, then a higher priority is assigned tothe media file. Thus, for example, if a user's calendar indicates thatthe user will be traveling to California to watch a sporting event nextweek, then media files with “California” location media tags and/or“Sports” event media tags are assigned a higher priority.

The user's calendar is accessed (and thus, priorities updated) atpredetermined intervals (e.g., every Monday) as defined by themanufacturer of the system 200 and/or the user. For example, media fileZ is a photograph of Jane Doe, currently having a “Medium” priority. Thepriority analyzing module 220 identifies that Jane Doe's birthday isnext week; and, the priority of media file Z is updated to “High”. AfterJane Doe's birthday has passed, the priority of media file Z is returnedto “Medium”.

The storage management module 230 stores the media file based on thedetermined priority 330. In at least one embodiment, the digital cameraincludes a combination of built-in storage devices (e.g., hard drive)and/or removable storage devices (e.g., memory card). The media filesare stored in the digital camera and/or on an external storage device.In at least one embodiment, the digital camera includes a designatedstorage area for storing the priority rules, wherein the media files arestored in a different storage area. In another embodiment, the areawhere the priority rules are stored also includes storage for mediafiles.

In at least one embodiment, higher priority media files are stored on afirst storage device (e.g., compact flash card); and, lower prioritymedia files are stored on a second storage device (e.g., microdrive).Data retrieval from the first storage device is faster than dataretrieval from the second storage device. In at least one embodiment,the second storage device is external to the digital camera. Moreover,medium priority media files are stored on a third storage device,wherein data retrieval from the third storage device is faster than dataretrieval from the second storage device and slower than data retrievalfrom the first storage device.

In another embodiment, the storage management module 230 automaticallytransfers one or more lower priority media files to an external storagedevice upon connection of the digital camera to the external storagedevice. In yet another embodiment, the storage management module 230automatically stores a backup copy of a higher priority media file on astorage device that is different than the storage device that the higherpriority media file is stored on. As the priorities of media fileschange and are updated (e.g., media file A has a “Chicago” locationmedia tag; the priority of media file A increases as more media filesare created having a “Chicago” location media tag), the storagemanagement module 230 moves/rearranges the media files. Moreover, backupmedia files that were created in response to an upcoming event aredeleted after the event has occurred. In at least one embodiment of theinvention, the media file is stored in a cloud computing environment.Specifically, different media files are stored in different networklocations based on the determined priority.

At least one embodiment of the invention registers at least oneindividual as the user of the digital camera. When a new media file iscreated in response to input by an operator of the digital camera (e.g.,button pressed, autotimer set), the operator of the digital camera isidentified. The operator is identified using a biometric sensor (e.g.,fingerprint scanner, voice recognition) and/or when the operator unlocksand/or logs on to the digital camera. The priority analyzing module 220assigns a higher priority to the new media file if the operator of thedigital camera is the user, and assigns a lower priority to the newmedia file if the operator of the digital camera is not the user.Another embodiment assigns a different priority to the media file basedon the registered user. For instance, John Doe and Jane Doe are bothregistered users; however, a higher priority is assigned to media filescreated by John Doe and a lower priority is assigned to media filescreated by Jane Doe, or vice versa.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute with theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Referring now to FIG. 4, a representative hardware environment forpracticing at least one embodiment of the invention is depicted. Thisschematic drawing illustrates a hardware configuration of an informationhandling/computer system in accordance with at least one embodiment ofthe invention. The system comprises at least one processor or centralprocessing unit (CPU) 10. The CPUs 10 are interconnected with system bus12 to various devices such as a random access memory (RAM) 14, read-onlymemory (ROM) 16, and an input/output (I/O) adapter 18. The I/O adapter18 can connect to peripheral devices, such as disk units 11 and tapedrives 13, or other program storage devices that are readable by thesystem. The system can read the inventive instructions on the programstorage devices and follow these instructions to execute the methodologyof at least one embodiment of the invention. The system further includesa user interface adapter 19 that connects a keyboard 15, mouse 17,speaker 24, microphone 22, and/or other user interface devices such as atouch screen device (not shown) to the bus 12 to gather user input.Additionally, a communication adapter 20 connects the bus 12 to a dataprocessing network 25, and a display adapter 21 connects the bus 12 to adisplay device 23 which may be embodied as an output device such as amonitor, printer, or transmitter, for example.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the root terms “include”and/or “have”, when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans plus function elements in the claims below are intended to includeany structure, or material, for performing the function in combinationwith other claimed elements as specifically claimed. The description ofthe present invention has been presented for purposes of illustrationand description, but is not intended to be exhaustive or limited to theinvention in the form disclosed. Many modifications and variations willbe apparent to those of ordinary skill in the art without departing fromthe scope and spirit of the invention. The embodiment was chosen anddescribed in order to best explain the principles of the invention andthe practical application, and to enable others of ordinary skill in theart to understand the invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

What is claimed is:
 1. A system for managing media files on a digitalcamera, said system including: a content analyzing module for tagging atleast one media file on said digital camera with: at least one locationmedia tag indicative of the geographic location where the media file wascreated, at least one event media tag indicative of an event where themedia file was created, and at least one content media tag indicative ofan individual in the media file; a priority analyzing module connectedto the content analyzing module, said priority analyzing moduledetermines a priority of the media file based on priority rules and thelocation media tag, the event media tag, and the content media tag; anda storage management module connected to said priority analyzing module,said storage management module stores the media file in said digitalcamera based on the priority determined by said priority analyzingmodule.
 2. The system according to claim 1, further including: a firststorage device connected to said priority analyzing module for storingat least one higher priority media file, said first storage devicehaving a first data retrieval time for retrieving the higher prioritymedia file; and a second storage device connected to said priorityanalyzing module for storing at least one lower priority media file,said second storage device having a second data retrieval time forretrieving the lower priority media file, wherein the first dataretrieval time is faster than the second data retrieval time.
 3. Thesystem according to claim 1, further including an interface connected tosaid priority analyzing module, said interface receives input from auser of said digital camera for setting the priority rules, the inputincluding at least one of: at least one higher priority location mediatag; at least one lower priority location media tag; at least one higherpriority event media tag; at least one lower priority event media tag;at least one higher priority content media tag; at least one lowerpriority content media tag; at least one media file flagged by the user;and at least one media file rated by the user.
 4. The system accordingto claim 1, further including: a facial recognition component of saidcontent analyzing module for identifying at least one person in themedia file; and a network component of said priority analyzing modulefor searching a network system of the user to determine whether theidentified person is in the user's network, wherein said priorityanalyzing module determines the priority of the media file based onwhether the identified person is in the user's network.
 5. The systemaccording to claim 1, further including: a calendar component of saidcontent analyzing module for identifying an upcoming event on a calendarof the user; an event component of said priority analyzing module fordetermining whether the media file has an event tag related to theupcoming event; and wherein said priority analyzing module assigns ahigher priority to the media file if the media file has the event tagrelated to the upcoming event.
 6. The system according to claim 1,further including an emotion component of said content analyzing modulefor analyzing at least one media file on said digital camera to identifyat least one of smiles, frowns, laughter, and crying, wherein saidpriority analyzing module determines the priority of the media filebased on said analyzing.
 7. A system for managing media files on adigital camera, said system including: a content analyzing module fortagging at least one media file on said digital camera with: at leastone location media tag indicative of the geographic location where themedia file was created, at least one event media tag indicative of anevent where the media file was created, and at least one content mediatag indicative of an individual in the media file; a priority analyzingmodule connected to the content analyzing module, said priorityanalyzing module determines a priority of the media file based onpriority rules and the location media tag, the event media tag, and thecontent media tag; a storage management module connected to saidpriority analyzing module, said storage management module stores themedia file in said digital camera based on the priority determined bysaid priority analyzing module; a first storage device connected to saidpriority analyzing module for storing at least one higher priority mediafile, said first storage device having a first data retrieval time forretrieving the higher priority media file; a second storage deviceconnected to said priority analyzing module for storing at least onelower priority media file, said second storage device having a seconddata retrieval time for retrieving the lower priority media file, thefirst data retrieval time being faster than the second data retrievaltime; a calendar component of said content analyzing module foridentifying an upcoming event on a calendar of the user; and an eventcomponent of said priority analyzing module for determining whether themedia file has an event tag related to the upcoming event, said priorityanalyzing module assigns a higher priority to the media file when themedia file has the event tag related to the upcoming event.
 8. Thesystem according to claim 7, further including an interface connected tosaid priority analyzing module, said interface receives input from auser of said digital camera for setting the priority rules, the inputincluding at least one of: at least one higher priority location mediatag; at least one lower priority location media tag; at least one higherpriority event media tag; at least one lower priority event media tag;at least one higher priority content media tag; at least one lowerpriority content media tag; at least one media file flagged by the user;and at least one media file rated by the user.
 9. The system accordingto claim 7, further including: a facial recognition component of saidcontent analyzing module for identifying at least one person in themedia file; and a network component of said priority analyzing modulefor searching a network system of the user to determine whether theidentified person is in the user's network, wherein said priorityanalyzing module determines the priority of the media file based onwhether the identified person is in the user's network.
 10. A system formanaging media files on a digital camera, said system including: acontent analyzing module for tagging at least one media file on saiddigital camera with at least two of: at least one location media tagindicative of the geographic location where the media file was created,at least one event media tag indicative of an event where the media filewas created, and at least one content media tag indicative of anindividual in the media file; a priority analyzing module connected tothe content analyzing module, said priority analyzing module determinesa priority of the media file based on priority rules and at least two ofthe location media tag, the event media tag, and the content media tag;a facial recognition component of said content analyzing module foridentifying at least one person in the media file; and a networkcomponent of said priority analyzing module for searching a networksystem of the user to determine whether the identified person is in theuser's network, wherein said priority analyzing module determines thepriority of the media file based on whether the identified person is inthe user's network; and a storage management module connected to saidpriority analyzing module, said storage management module stores themedia file in said digital camera based on the priority determined bysaid priority analyzing module.
 11. The system according to claim 10,further including: a first storage device connected to said priorityanalyzing module for storing at least one higher priority media file,said first storage device having a first data retrieval time forretrieving the higher priority media file; and a second storage deviceconnected to said priority analyzing module for storing at least onelower priority media file, said second storage device having a seconddata retrieval time for retrieving the lower priority media file,wherein the first data retrieval time is faster than the second dataretrieval time.
 12. The system according to claim 10, further includingan interface connected to said priority analyzing module, said interfacereceives input from a user of said digital camera for setting thepriority rules, the input including at least two of: at least one higherpriority location media tag; at least one lower priority location mediatag; at least one higher priority event media tag; at least one lowerpriority event media tag; at least one higher priority content mediatag; at least one lower priority content media tag; at least one mediafile flagged by the user; and at least one media file rated by the user.13. The system according to claim 10, further including: a calendarcomponent of said content analyzing module for identifying an upcomingevent on a calendar of the user; an event component of said priorityanalyzing module for determining whether the media file has an event tagrelated to the upcoming event; and wherein said priority analyzingmodule assigns a higher priority to the media file if the media file hasthe event tag related to the upcoming event.
 14. The system according toclaim 10, further including an emotion component of said contentanalyzing module for analyzing at least one media file on said digitalcamera to identify at least one of smiles, frowns, laughter, and crying,wherein said priority analyzing module determines the priority of themedia file based on said analyzing.
 15. A system for managing mediafiles on a digital camera, said system including: a content analyzingmodule for tagging at least one media file on said digital camera withat least one event media tag indicative of an event where the media filewas created; a priority analyzing module connected to the contentanalyzing module, said priority analyzing module determines a priorityof the media file based on priority rules and the event media tag; and astorage management module connected to said priority analyzing module,said storage management module stores the media file in said digitalcamera based on the priority determined by said priority analyzingmodule.
 16. The system according to claim 15, further including: a firststorage device connected to said priority analyzing module for storingat least one higher priority media file, said first storage devicehaving a first data retrieval time for retrieving the higher prioritymedia file; and a second storage device connected to said priorityanalyzing module for storing at least one lower priority media file,said second storage device having a second data retrieval time forretrieving the lower priority media file, wherein the first dataretrieval time is faster than the second data retrieval time.
 17. Thesystem according to claim 15, further including an interface connectedto said priority analyzing module, said interface receives input from auser of said digital camera for setting the priority rules, the inputincluding at least one of: at least one higher priority location mediatag; at least one lower priority location media tag; at least one higherpriority event media tag; at least one lower priority event media tag;at least one higher priority content media tag; at least one lowerpriority content media tag; at least one media file flagged by the user;and at least one media file rated by the user.
 18. The system accordingto claim 15, further including: a facial recognition component of saidcontent analyzing module for identifying at least one person in themedia file; and a network component of said priority analyzing modulefor searching a network system of the user to determine whether theidentified person is in the user's network, wherein said priorityanalyzing module determines the priority of the media file based onwhether the identified person is in the user's network.
 19. The systemaccording to claim 15, further including: a calendar component of saidcontent analyzing module for identifying an upcoming event on a calendarof the user; an event component of said priority analyzing module fordetermining whether the media file has an event tag related to theupcoming event; and wherein said priority analyzing module assigns ahigher priority to the media file if the media file has the event tagrelated to the upcoming event.
 20. The system according to claim 15,further including an emotion component of said content analyzing modulefor analyzing at least one media file on said digital camera to identifyat least one of smiles, frowns, laughter, and crying, wherein saidpriority analyzing module determines the priority of the media filebased on said analyzing.
 21. A non-transitory computer program productfor managing media files on a digital camera, said computer programproduct comprising: a non-transitory computer readable storage medium;first program instructions to tag at least one media file on the digitalcamera, the tagging including: tagging the media file with at least onelocation media tag indicative of the geographic location where the mediafile was created, tagging the media file with at least one event mediatag indicative of an event where the media file was created, and taggingthe media file with at least one content media tag indicative of anindividual in the media file; second program instructions to determine apriority of the media file based on priority rules and at least one ofthe location media tag, the event media tag, and the content media tag;third program instructions to store the media file in the digital camerabased on the determined priority; and fourth program instructions to,upon connection of the digital camera to an external storage device,automatically transfer at least one lower priority media file to theexternal storage device, wherein said first program instructions, saidsecond program instructions, said third program instructions, and saidfourth program instructions are stored on said computer readable storagemedium.
 22. The computer program product according to claim 21, whereinsaid third program instructions at least one of: stores a higherpriority media file on a first storage device; and stores a lowerpriority media file on a second storage device, wherein data retrievalfrom the first storage device is faster than data retrieval from thesecond storage device.
 23. The computer program product according toclaim 21, further including fifth program instructions to set thepriority rules based on input from a user of the digital camera, theinput including at least one of: at least one higher priority locationmedia tag; at least one lower priority location media tag; at least onehigher priority event media tag; at least one lower priority event mediatag; at least one higher priority content media tag; at least one lowerpriority content media tag; at least one media file flagged by the user;and at least one media file rated by the user.